package com.huaxin.device.dto.request;

import com.huaxin.device.dto.request.base.BasePageReqDTO;
import com.huaxin.hxenum.validation.ValidEquipmentDataType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = true)
public class EquipmentDataSourcePageListReqDTO extends BasePageReqDTO {

    @Schema(description = "采集设备ID", example = "di123e456-789a-bcde-f012-3456789abcde")
    private String collectorId;

    @Schema(description = "电力设备ID", example = "eq123e456-789a-bcde-f012-3456789abcdf")
    private String equipmentId;

    @Schema(description = "配电房ID", example = "rm123e456-789a-bcde-f012-3456789abcde")
    private String roomId;

    @Schema(description = "变电箱ID", example = "cb123e456-789a-bcde-f012-3456789abcdf")
    private String cabinetId;

    @Schema(description = "电井ID", example = "wl123e456-789a-bcde-f012-3456789abcde")
    private String wellId;

    @Schema(description = "数据类型", example = "CURRENT")
    @ValidEquipmentDataType
    private String dataType;

    @Schema(description = "是否为主展示数据", example = "true")
    private Boolean isPrimary;

    @Schema(description = "组织ID", example = "org123e456-789a-bcde-f012-3456789abcde")
    private String OrgId;

    @Schema(description = "家庭ID", example = "fam123e456-789a-bcde-f012-3456789abcde")
    private String familyId;

    @Schema(description = "关键字查询，支持数据项名称或备注", example = "电流")
    private String keyword;
}